package com.jt.www.model.application;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

@ApiModel(description = "投保单")
public class AppFormVO {

    /**
     * 渠道代码
     */
    @ApiModelProperty(value = "渠道代码")
    private String channelCode;

    /**
     * 投保单id
     */
    @ApiModelProperty(value = "投保单id")
    private Long id;

    /**
     * 投保单编号
     */
    @ApiModelProperty(value = "投保单编号")
    private String applicationFormCode;

    /**
     * 项目编码
     */
    @ApiModelProperty(value = "项目编码")
    private String projectCode;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "产品编码")
    private String productCode;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    /**
     * 产品分类1级
     */
    @ApiModelProperty(value = "产品分类1级")
    private String productCategory1;

    /**
     * 产品分类2级
     */
    @ApiModelProperty(value = "产品分类2级")
    private String productCategory2;

    /**
     * 产品分类3级
     */
    @ApiModelProperty(value = "产品分类3级")
    private String productCategory3;

    /**
     * 出单方式：
     * 线上出单（01）、
     * 线下出单（00）
     * <p>
     * 根据产品配置来确定。
     */
    @ApiModelProperty(value = "出单方式线上出单（01）、线下出单（00）")
    private String issueType;

    @ApiModelProperty(value = "渠道名称")
    private String channelName;

    /**
     * 渠道类型（01特惠保）
     */
    @ApiModelProperty(value = "渠道类型")
    private String channelType;

    /**
     * 出单机构编码
     * 江泰分公司层级
     */
    @ApiModelProperty(value = "分支机构编码")
    private String branchCode;

    @ApiModelProperty(value = "分支机构名称")
    private String branchName;

    /**
     * 区分是新保还是续保标识，y-续保；n-新保
     */
    @ApiModelProperty(value = "是否续保 y-续保；n-新保")
    private String renewal;

    /**
     * 续保次数
     */
    @ApiModelProperty(value = "续保次数")
    private Integer renewTimes;

    /**
     * 续保保单号
     */
    @ApiModelProperty(value = "续保保单号")
    private String renewLastPolicyNo;

    /**
     * 投保开始日期
     */
    @ApiModelProperty(value = "投保开始日期")
    private String applicantStartDate;

    /**
     * 投保终止日期
     */
    @ApiModelProperty(value = "投保终止日期")
    private String applicantEndDate;

    /**
     * 追溯期标记
     * 启动追溯（y）
     * 不启动追溯（n）
     */
    @ApiModelProperty(value = "追溯期标记:启动追溯（y）不启动追溯（n）")
    private String retroactiveFlag;

    /**
     * 起保日期
     */
    @ApiModelProperty(value = "起保日期")
    private String startDate;

    /**
     * 保险止期
     */
    @ApiModelProperty(value = "保险止期")
    private String endDate;

    /**
     * 保险天数
     */
    @ApiModelProperty(value = "保险天数")
    private Integer term;

    /**
     * 保单所属年份
     */
    @ApiModelProperty(value = "保单所属年份")
    private String insureYear;

    /**
     * 投保单状态 待初审（00） 初审不通过（01） 待复审（02） 复审不通过（03） 延期凭证待上传（04） 延期凭证待审核（05） 延期拼装审核不通过（06） 待关联（07） 待出单（08）出单失败(09) 已出单（10）已取消(11)已删除(12)、投保单盖章审核不通过(13)出单中（14）待出单确认（15）待金额审核（16）金额审核不通过（17）
     */
    @ApiModelProperty(value = "投保单状态")
    private String applicationStatus;

    /**
     * 财务状态
     * 已到账（01）
     * 未到账（00）
     * 部分到账（02）
     */
    @ApiModelProperty(value = "财务状态")
    private String financeStatus;

    /**
     * 出单标记
     * 末出单（n）
     * 已出单（y）
     */
    @ApiModelProperty(value = "出单标记  未出单（n）已出单（y）")
    private String issueStatus;

    /**
     * 报文推送状态
     */
    @ApiModelProperty(value = "报文推送状态")
    private String pushStatus;

    /**
     * 发票状态（00未开票 / 01已开票）
     */
    @ApiModelProperty(value = "发票状态（00未开票 / 01已开票）")
    private String invoiceStatus;

    /**
     * 保单类型
     * 电子保单（00）/纸质保单（01）
     */
    @ApiModelProperty(value = "保单类型  电子保单（00）/纸质保单（01）")
    private String policyKind;

    /**
     * 发票类型
     * 电子发票（10）/纸质发票（11）
     */
    @ApiModelProperty(value = "发票类型  电子发票（10）/纸质发票（11）")
    private String invoiceKind;

    /**
     * 发票抬头
     */
    @ApiModelProperty(value = "发票抬头")
    private String invoiceTitle;

    /**
     * 纳税人类型:
     * 小规模纳税人（00）、一般纳税人（01）
     */
    @ApiModelProperty(value = "纳税人类型  小规模纳税人（00）、一般纳税人（01）")
    private String taxerType;

    /**
     * 纳税人识别号
     */
    @ApiModelProperty(value = "纳税人识别号")
    private String tin;

    /**
     * 发票类型：
     * 增值税电子发票（00）、增值税普票（01）、增值税专票（02）
     */
    @ApiModelProperty(value = "发票类型：增值税电子发票（00）、增值税普票（01）、增值税专票（02）")
    private String invoiceType;

    /**
     * 发送出单短信
     * 发短信（y）
     * 不发短信（n）
     */
    @ApiModelProperty(value = "发送出单短信   发短信（y）不发短信（n）")
    private String isSendSms;

    /**
     * 投保机构联系人名称
     */
    @ApiModelProperty(value = "投保机构联系人名称")
    private String linker;

    @ApiModelProperty(value = "投保机构联系人电话")
    private String linkerPhone;

    @ApiModelProperty(value = "投保机构联系人传真")
    private String linkerFax;

    @ApiModelProperty(value = "投保机构联系人邮箱")
    private String linkerEmail;

    /**
     * 投保单保费金额
     */
    @ApiModelProperty(value = "投保单保费金额")
    private BigDecimal prem;

    /**
     * 投保单优惠金额
     */
    @ApiModelProperty(value = "投保单优惠金额")
    private BigDecimal reducePrem;

    @ApiModelProperty(value = "投保单对应订单ID")
    private Long tOrderId;

    @ApiModelProperty(value = "订单号")
    private String orderCode;


    /**
     * 续期保费支付标记
     * y——同首期
     * n——其他
     */
    @ApiModelProperty(value = "续期保费支付标记  y——同首期  n——其他")
    private String renewPayFlag;

    /**
     * 子渠道编码
     * 目前私人保险渠道会再往下区分子渠道。
     */
    @ApiModelProperty(value = "子渠道编码")
    private String schanelCode;

    /**
     * 子渠道名称
     */
    @ApiModelProperty(value = "子渠道名称")
    private String schanelName;

    /**
     * 委托人姓名
     */
    @ApiModelProperty(value = "委托人姓名")
    private String consignor;

    /**
     * 委托人身份证号
     */
    @ApiModelProperty(value = "委托人身份证号")
    private String consignorIdno;

    /**
     * 委托人地址
     */
    @ApiModelProperty(value = "委托人地址")
    private String consignorLocation;

    /**
     * 委托合同号
     */
    @ApiModelProperty(value = "委托合同号")
    private String contractNo;

    /**
     * 委托合同开始日期
     */
    @ApiModelProperty(value = "委托合同开始日期")
    private String contractStartDate;

    /**
     * 委托合同结束日期
     */
    @ApiModelProperty(value = "委托合同结束日期")
    private String contractEndDate;

    /**
     * 省编码
     */
    @ApiModelProperty(value = "省编码")
    private String provinceCode;

    /**
     * 市编码
     */
    @ApiModelProperty(value = "市编码")
    private String cityCode;

    /**
     * 区县编码
     */
    @ApiModelProperty(value = "区县编码")
    private String countyCode;

    /**
     * 优惠前保费
     */
    @ApiModelProperty(value = "优惠前保费")
    private BigDecimal beforePrem;

    /**
     * 优惠后保费
     */
    @ApiModelProperty(value = "优惠后保费")
    private BigDecimal afterPrem;

    /**
     * 实付保费
     */
    @ApiModelProperty(value = "实付保费")
    private BigDecimal actualPrem;

    /**
     * 省名称
     */
    @ApiModelProperty(value = "省名称")
    private String provinceName;

    /**
     * 城市名称
     */
    @ApiModelProperty(value = "城市名称")
    private String cityName;

    /**
     * 区县名称
     */
    @ApiModelProperty(value = "区县名称")
    private String countyName;

    /**
     * 支付方式 在线支付（00）、线下转账支付（01）、支付凭证（02）
     */
    @ApiModelProperty(value = "支付方式 在线支付（00）、线下转账支付（01）、支付凭证（02）")
    private String payType;

    /**
     * 投保单类型 自助投保（00）/代投保（01）
     */
    @ApiModelProperty(value = "自助投保（00）/代投保（01）")
    private String applicationType;

    /**
     * 赔付率
     */
    @ApiModelProperty(value = "赔付率")
    private String compensationRate;

    /**
     * 最后支付日期
     */
    @ApiModelProperty(value = "最后支付日期")
    private String payDate;

    /**
     * 追溯期
     */
    @ApiModelProperty(value = "追溯期")
    private String retroactiveDate;

    /**
     * 被保人个数.
     */
    @ApiModelProperty(value = "被保人个数")
    private Integer insuredCount;

    @ApiModelProperty(value = "创建时间,无实际业务含义")
    private String createDate;

    @ApiModelProperty(value = "修改时间,无实际业务含义")
    private String updateDate;

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getApplicationFormCode() {
        return applicationFormCode;
    }

    public void setApplicationFormCode(String applicationFormCode) {
        this.applicationFormCode = applicationFormCode;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductCategory1() {
        return productCategory1;
    }

    public void setProductCategory1(String productCategory1) {
        this.productCategory1 = productCategory1;
    }

    public String getProductCategory2() {
        return productCategory2;
    }

    public void setProductCategory2(String productCategory2) {
        this.productCategory2 = productCategory2;
    }

    public String getProductCategory3() {
        return productCategory3;
    }

    public void setProductCategory3(String productCategory3) {
        this.productCategory3 = productCategory3;
    }

    public String getIssueType() {
        return issueType;
    }

    public void setIssueType(String issueType) {
        this.issueType = issueType;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public String getChannelType() {
        return channelType;
    }

    public void setChannelType(String channelType) {
        this.channelType = channelType;
    }

    public String getBranchCode() {
        return branchCode;
    }

    public void setBranchCode(String branchCode) {
        this.branchCode = branchCode;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getRenewal() {
        return renewal;
    }

    public void setRenewal(String renewal) {
        this.renewal = renewal;
    }

    public Integer getRenewTimes() {
        return renewTimes;
    }

    public void setRenewTimes(Integer renewTimes) {
        this.renewTimes = renewTimes;
    }

    public String getRenewLastPolicyNo() {
        return renewLastPolicyNo;
    }

    public void setRenewLastPolicyNo(String renewLastPolicyNo) {
        this.renewLastPolicyNo = renewLastPolicyNo;
    }

    public String getApplicantStartDate() {
        return applicantStartDate;
    }

    public void setApplicantStartDate(String applicantStartDate) {
        this.applicantStartDate = applicantStartDate;
    }

    public String getApplicantEndDate() {
        return applicantEndDate;
    }

    public void setApplicantEndDate(String applicantEndDate) {
        this.applicantEndDate = applicantEndDate;
    }

    public String getRetroactiveFlag() {
        return retroactiveFlag;
    }

    public void setRetroactiveFlag(String retroactiveFlag) {
        this.retroactiveFlag = retroactiveFlag;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Integer getTerm() {
        return term;
    }

    public void setTerm(Integer term) {
        this.term = term;
    }

    public String getInsureYear() {
        return insureYear;
    }

    public void setInsureYear(String insureYear) {
        this.insureYear = insureYear;
    }

    public String getApplicationStatus() {
        return applicationStatus;
    }

    public void setApplicationStatus(String applicationStatus) {
        this.applicationStatus = applicationStatus;
    }

    public String getFinanceStatus() {
        return financeStatus;
    }

    public void setFinanceStatus(String financeStatus) {
        this.financeStatus = financeStatus;
    }

    public String getIssueStatus() {
        return issueStatus;
    }

    public void setIssueStatus(String issueStatus) {
        this.issueStatus = issueStatus;
    }

    public String getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(String pushStatus) {
        this.pushStatus = pushStatus;
    }

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(String invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public String getPolicyKind() {
        return policyKind;
    }

    public void setPolicyKind(String policyKind) {
        this.policyKind = policyKind;
    }

    public String getInvoiceKind() {
        return invoiceKind;
    }

    public void setInvoiceKind(String invoiceKind) {
        this.invoiceKind = invoiceKind;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

    public String getTaxerType() {
        return taxerType;
    }

    public void setTaxerType(String taxerType) {
        this.taxerType = taxerType;
    }

    public String getTin() {
        return tin;
    }

    public void setTin(String tin) {
        this.tin = tin;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getIsSendSms() {
        return isSendSms;
    }

    public void setIsSendSms(String isSendSms) {
        this.isSendSms = isSendSms;
    }

    public String getLinker() {
        return linker;
    }

    public void setLinker(String linker) {
        this.linker = linker;
    }

    public String getLinkerPhone() {
        return linkerPhone;
    }

    public void setLinkerPhone(String linkerPhone) {
        this.linkerPhone = linkerPhone;
    }

    public String getLinkerFax() {
        return linkerFax;
    }

    public void setLinkerFax(String linkerFax) {
        this.linkerFax = linkerFax;
    }

    public String getLinkerEmail() {
        return linkerEmail;
    }

    public void setLinkerEmail(String linkerEmail) {
        this.linkerEmail = linkerEmail;
    }

    public BigDecimal getPrem() {
        return prem;
    }

    public void setPrem(BigDecimal prem) {
        this.prem = prem;
    }

    public BigDecimal getReducePrem() {
        return reducePrem;
    }

    public void setReducePrem(BigDecimal reducePrem) {
        this.reducePrem = reducePrem;
    }

    public Long gettOrderId() {
        return tOrderId;
    }

    public void settOrderId(Long tOrderId) {
        this.tOrderId = tOrderId;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getRenewPayFlag() {
        return renewPayFlag;
    }

    public void setRenewPayFlag(String renewPayFlag) {
        this.renewPayFlag = renewPayFlag;
    }

    public String getSchanelCode() {
        return schanelCode;
    }

    public void setSchanelCode(String schanelCode) {
        this.schanelCode = schanelCode;
    }

    public String getSchanelName() {
        return schanelName;
    }

    public void setSchanelName(String schanelName) {
        this.schanelName = schanelName;
    }

    public String getConsignor() {
        return consignor;
    }

    public void setConsignor(String consignor) {
        this.consignor = consignor;
    }

    public String getConsignorIdno() {
        return consignorIdno;
    }

    public void setConsignorIdno(String consignorIdno) {
        this.consignorIdno = consignorIdno;
    }

    public String getConsignorLocation() {
        return consignorLocation;
    }

    public void setConsignorLocation(String consignorLocation) {
        this.consignorLocation = consignorLocation;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractStartDate() {
        return contractStartDate;
    }

    public void setContractStartDate(String contractStartDate) {
        this.contractStartDate = contractStartDate;
    }

    public String getContractEndDate() {
        return contractEndDate;
    }

    public void setContractEndDate(String contractEndDate) {
        this.contractEndDate = contractEndDate;
    }

    public String getProvinceCode() {
        return provinceCode;
    }

    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }

    public String getCityCode() {
        return cityCode;
    }

    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    public String getCountyCode() {
        return countyCode;
    }

    public void setCountyCode(String countyCode) {
        this.countyCode = countyCode;
    }

    public BigDecimal getBeforePrem() {
        return beforePrem;
    }

    public void setBeforePrem(BigDecimal beforePrem) {
        this.beforePrem = beforePrem;
    }

    public BigDecimal getAfterPrem() {
        return afterPrem;
    }

    public void setAfterPrem(BigDecimal afterPrem) {
        this.afterPrem = afterPrem;
    }

    public BigDecimal getActualPrem() {
        return actualPrem;
    }

    public void setActualPrem(BigDecimal actualPrem) {
        this.actualPrem = actualPrem;
    }

    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getCountyName() {
        return countyName;
    }

    public void setCountyName(String countyName) {
        this.countyName = countyName;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getApplicationType() {
        return applicationType;
    }

    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }

    public String getCompensationRate() {
        return compensationRate;
    }

    public void setCompensationRate(String compensationRate) {
        this.compensationRate = compensationRate;
    }

    public String getPayDate() {
        return payDate;
    }

    public void setPayDate(String payDate) {
        this.payDate = payDate;
    }

    public String getRetroactiveDate() {
        return retroactiveDate;
    }

    public void setRetroactiveDate(String retroactiveDate) {
        this.retroactiveDate = retroactiveDate;
    }

    public Integer getInsuredCount() {
        return insuredCount;
    }

    public void setInsuredCount(Integer insuredCount) {
        this.insuredCount = insuredCount;
    }

    public String getCreateDate() {
        return createDate;
    }

    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }

    public String getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(String updateDate) {
        this.updateDate = updateDate;
    }
}
